package cn.panda.edu.dao;


import cn.panda.edu.model.Course;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * 
 * 类描述：Dao层Course接口类  
 */
public interface CourseMapper {
	
	/**
	 * 
	* @Title: deleteByPrimaryKey 
	* @Description: 根据主键删除课程
	* @param courseId
	* @return int
	 */
    int deleteByPrimaryKey(Integer courseId);
    /**
     * 
    * @Title: listCourse 
    * @Description: 获取课程所有信息  lsy
    * @param @return  
    * @return List<Course>
     */
    List<Course> listCourse(@Param("id") Integer id);
    /**
     * 
    * @Title: insert 
    * @Description: 添加课程
    * @param record
    * @return  
    * int
     */
    int insert(Course record);
    
    /**
     * 
    * @Title: insertSelective 
    * @Description: 有选择的添加课程
    * @param record
    * @return  
    * int
     */
    int insertSelective(Course record);

    /**
     * 
    * @Title: selectByPrimaryKey 
    * @Description: 根据id查询课程信息
    * @param courseId
    * @return  
    * Course
     */
    Course selectByPrimaryKey(Integer courseId);
   
    /**
     * 
    * @Title: selectLikeByPrimaryKey 
    * @Description: TODO(通过输入的值进行模糊查询) 
    * @param @param map
    * @param @return  
    * @return List<Course>
     */
    List<Course> selectLikeByPrimaryKey(Map<String, Object> map);
    
    
    /**
     * 
    * @Title: updateByPrimaryKeySelective 
    * @Description: 根据主键有选择的更新信息
    * @param record
    * @return  
    * int
     */
    int updateByPrimaryKeySelective(Course record);

    /**
     * 
    * @Title: updateByPrimaryKeyWithBLOBs 
    * @Description: 根据主键和课程信息更新
    * @param record
    * @return  
    * int
     */
    int updateByPrimaryKeyWithBLOBs(Course record);
    
    /**
     * 
    * @Title: updateByPrimaryKey 
    * @Description: 根据主键更新全部信息
    * @param record
    * @return  
    * int
     */
    int updateByPrimaryKey(Course record);

    List<Course> getCourseList();
}